* use using for jeeps function prototypes.
* const correctness wrt GPS_PPacket.
The important bit here is in gpssend.cc, Build_Serial_Packet used to rececive a 1KB packet by copy, now it is by const reference.
* delete accidentally committed file.
* rename GPS_PPacket -> GPS_Packet.
original jeeps used GPS_SXXX, GPS_OSXXX, GPS_PXXX for the structure
tag, a typedef of the structure, and a pointer to a typedef of the
structure. In the case of GPS_PPacket this convention was no longer
followed.
* change GPS_Packet back to a structure.
* try harder to change GPS_Packet back to a struct.
* clean up GPS_Serial_[SOP]Packet.
* catch some missed renames up.
clion on linux missed some windows only renames.
extern char gps_categories[16][17];
-typedef struct GPS_SPacket {
- US type;
- uint32 n;
- UC* data;
-} GPS_OPacket;
-
-class GPS_PPacket {
-public:
+struct GPS_Packet {
US type{0};
uint32 n{0};
UC data[MAX_GPS_PACKET_SIZE]{};
};
-typedef struct GPS_Serial_SPacket {
+struct GPS_Serial_Packet {
UC dle;
UC type;
UC n;
UC chk;
UC edle;
UC etx;
-} GPS_Serial_OPacket, *GPS_Serial_PPacket;
-
-typedef struct GPS_SProduct_Data_Type {
- int16 id;
- int16 version;
- char desc[MAX_GPS_PACKET_SIZE];
-} GPS_OProduct_Data_Type, *GPS_PProduct_Data_Type;
-
-
+};
typedef struct GPS_SPvt_Data_Type {
} GPS_OCourse_Limits, *GPS_PCourse_Limits;
-typedef int (*pcb_fn)(int, GPS_SWay**);
+using pcb_fn = int (*)(int, GPS_SWay**);
#include "jeeps/gpsdevice.h"
#include "jeeps/gpssend.h"
#define XMIN(a,b) (a < b? a : b)
static int32 GPS_A000(const char* port);
-static void GPS_A001(GPS_PPacket& packet);
+static void GPS_A001(const GPS_Packet& packet);
static void GPS_A500_Translate(UC* s, GPS_PAlmanac* alm);
static int32 GPS_A000(const char* port)
{
gpsdevh* fd;
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
int16 version;
int16 id;
** Extract protocol capabilities
** This routine could do with re-writing. It's too long and obtuse.
**
-** @param [r] packet [GPS_PPacket] A001 protocol packet
+** @param [r] packet [GPS_Packet] A001 protocol packet
**
** @return [void]
************************************************************************/
-static void GPS_A001(GPS_PPacket& packet)
+static void GPS_A001(const GPS_Packet& packet)
{
US lasta=0;
int32 entries = packet.n / 3;
- UC* p = packet.data;
+ const UC* p = packet.data;
for (int32 i=0; i<entries; ++i,p+=3) {
US tag = *p;
{
static UC data[2];
gpsdevh* fd;
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
int32 n;
int32 i;
{
UC data[GPS_ARB_LEN];
gpsdevh* fd;
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
int32 i;
int32 len;
{
static UC data[2];
gpsdevh* fd;
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
int32 n;
int32 i;
{
static UC data[2];
gpsdevh* fd;
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
int32 n;
int32 i;
{
static UC data[2];
gpsdevh* fd;
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
int32 n;
int32 i;
{
UC data[GPS_ARB_LEN];
gpsdevh* fd;
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
int32 i;
int32 len;
US method;
{
UC data[GPS_ARB_LEN];
gpsdevh* fd;
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
int32 i;
int32 len;
US method;
{
static UC data[2];
gpsdevh* fd;
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
int32 n;
int32 i;
int32 ret;
int
drain_run_cmd(gpsdevh* fd)
{
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
static UC data[2];
GPS_Util_Put_Short(data,
{
static UC data[2];
gpsdevh* fd;
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
int32 n;
int32 i;
US Pid_Trk_Data, Pid_Trk_Hdr, Cmnd_Transfer_Trk;
{
UC data[GPS_ARB_LEN];
gpsdevh* fd;
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
int32 i;
int32 len;
gpsdevh* fd)
{
UC data[GPS_ARB_LEN];
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
int32 i;
int32 len;
US method;
************************************************************************/
int32 GPS_D300_Get(GPS_PTrack* trk, int32 entries, gpsdevh* fd)
{
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
int32 i;
{
static UC data[2];
gpsdevh* fd;
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
int32 n;
int32 i;
{
UC data[GPS_ARB_LEN];
gpsdevh* fd;
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
int32 i;
int32 len;
{
static UC data[2];
gpsdevh* fd;
- GPS_PPacket trapkt;
- GPS_PPacket recpkt;
+ GPS_Packet trapkt;
+ GPS_Packet recpkt;
int32 i, n;
if (gps_almanac_transfer == -1) {
{
UC data[GPS_ARB_LEN];
gpsdevh* fd;
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
int32 i;
int32 len;
int32 timesent;
{
static UC data[2];
gpsdevh* fd;
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
time_t ret;
if (!GPS_Device_On(port, &fd)) {
int32 GPS_A600_Send(const char* port, time_t Time)
{
gpsdevh* fd;
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
int32 posnsent=0;
int32 ret=0;
**
** Convert date/time packet to ints
**
-** @param [r] packet [GPS_PPacket] packet
+** @param [r] packet [GPS_Packet] packet
**
** @return [time_t] gps time as unix system time
************************************************************************/
-time_t GPS_D600_Get(GPS_PPacket& packet)
+time_t GPS_D600_Get(const GPS_Packet& packet)
{
- UC* p;
+ const UC* p;
std::tm ts{};
p = packet.data;
**
** make a time packet for sending to the GPS
**
-** @param [w] packet [GPS_PPacket *] packet
+** @param [w] packet [GPS_Packet *] packet
** @param [r] Time [time_t] unix-style time
**
** @return [void]
************************************************************************/
-void GPS_D600_Send(GPS_PPacket& packet, time_t Time)
+void GPS_D600_Send(GPS_Packet& packet, time_t Time)
{
UC data[10];
{
static UC data[2];
gpsdevh* fd;
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
if (!GPS_Device_On(port, &fd)) {
return gps_errno;
int32 GPS_A700_Send(const char* port, double lat, double lon)
{
gpsdevh* fd;
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
if (!GPS_Device_On(port, &fd)) {
return gps_errno;
**
** Convert position packet to lat/long in degrees
**
-** @param [r] packet [GPS_PPacket] packet
+** @param [r] packet [GPS_Packet] packet
** @param [w] lat [double *] latitude (deg)
** @param [w] lon [double *] longitude (deg)
**
** @return [void]
************************************************************************/
-void GPS_D700_Get(GPS_PPacket& packet, double* lat, double* lon)
+void GPS_D700_Get(const GPS_Packet& packet, double* lat, double* lon)
{
- UC* p;
+ const UC* p;
double t;
p = packet.data;
**
** make a position packet for sending to the GPS
**
-** @param [w] packet [GPS_PPacket *] packet
+** @param [w] packet [GPS_Packet *] packet
** @param [r] lat [double] latitude (deg)
** @param [r] lon [double] longitude (deg)
**
** @return [void]
************************************************************************/
-void GPS_D700_Send(GPS_PPacket& packet, double lat, double lon)
+void GPS_D700_Send(GPS_Packet& packet, double lat, double lon)
{
UC data[16];
UC* p;
int32 GPS_A800_On(const char* port, gpsdevh** fd)
{
static UC data[2];
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
if (!GPS_Device_On(port, fd)) {
return gps_errno;
int32 GPS_A800_Off(const char* /*unused*/, gpsdevh** fd)
{
static UC data[2];
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
GPS_Util_Put_Short(data,
************************************************************************/
int32 GPS_A800_Get(gpsdevh** fd, GPS_PPvt_Data* packet)
{
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
if (!GPS_Packet_Read(*fd, &rec)) {
**
** Convert packet to pvt structure
**
-** @param [r] packet [GPS_PPacket] packet
+** @param [r] packet [GPS_Packet] packet
** @param [w] pvt [GPS_PPvt_Data *] pvt structure
**
** @return [void]
************************************************************************/
-void GPS_D800_Get(GPS_PPacket& packet, GPS_PPvt_Data* pvt)
+void GPS_D800_Get(const GPS_Packet& packet, GPS_PPvt_Data* pvt)
{
- UC* p;
+ const UC* p;
p = packet.data;
{
static UC data[2];
gpsdevh* fd;
- GPS_PPacket trapkt;
- GPS_PPacket recpkt;
+ GPS_Packet trapkt;
+ GPS_Packet recpkt;
int32 i, n;
if (gps_lap_transfer == -1) {
**
** Convert packet D906, D1001, D1011, D1015 to lap structure
**
-** @param [r] packet [GPS_PPacket] packet
+** @param [r] packet [GPS_Packet] packet
** @param [w] pvt [GPS_PLap *] lap structure
**
** @return [void]
{
static UC data[2];
gpsdevh* fd;
- GPS_PPacket trapkt;
- GPS_PPacket recpkt;
+ GPS_Packet trapkt;
+ GPS_Packet recpkt;
int32 i, n;
if (gps_course_transfer == -1) {
gpsdevh* fd)
{
UC data[GPS_ARB_LEN];
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
int32 i;
int32 len;
{
static UC data[2];
gpsdevh* fd;
- GPS_PPacket trapkt;
- GPS_PPacket recpkt;
+ GPS_Packet trapkt;
+ GPS_Packet recpkt;
int32 i, n;
if (gps_course_lap_transfer == -1) {
gpsdevh* fd)
{
UC data[GPS_ARB_LEN];
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
int32 i;
int32 len;
**
** Convert packet D1007 to course lap structure
**
-** @param [r] packet [GPS_PPacket] packet
+** @param [r] packet [GPS_Packet] packet
** @param [w] clp [GPS_PCourse_Lap *] course lap structure
**
** @return [void]
{
static UC data[2];
gpsdevh* fd;
- GPS_PPacket trapkt;
- GPS_PPacket recpkt;
+ GPS_Packet trapkt;
+ GPS_Packet recpkt;
int32 i, n;
if (gps_course_point_transfer == -1) {
gpsdevh* fd)
{
UC data[GPS_ARB_LEN];
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
int32 i;
int32 len;
{
static UC data[2];
gpsdevh* fd;
- GPS_PPacket trapkt;
- GPS_PPacket recpkt;
+ GPS_Packet trapkt;
+ GPS_Packet recpkt;
if (gps_course_limits_transfer == -1) {
return GPS_UNSUPPORTED;
int32 GPS_A500_Send(const char* port, GPS_PAlmanac* alm, int32 n);
time_t GPS_A600_Get(const char* port);
- time_t GPS_D600_Get(GPS_PPacket& packet);
+ time_t GPS_D600_Get(const GPS_Packet& packet);
int32 GPS_A600_Send(const char* port, time_t Time);
- void GPS_D600_Send(GPS_PPacket& packet, time_t Time);
+ void GPS_D600_Send(GPS_Packet& packet, time_t Time);
int32 GPS_A700_Get(const char* port, double* lat, double* lon);
int32 GPS_A700_Send(const char* port, double lat, double lon);
- void GPS_D700_Get(GPS_PPacket& packet, double* lat, double* lon);
- void GPS_D700_Send(GPS_PPacket& packet, double lat, double lon);
+ void GPS_D700_Get(const GPS_Packet& packet, double* lat, double* lon);
+ void GPS_D700_Send(GPS_Packet& packet, double lat, double lon);
int32 GPS_A800_On(const char* port, gpsdevh** fd);
int32 GPS_A800_Off(const char* port, gpsdevh** fd);
int32 GPS_A800_Get(gpsdevh** fd, GPS_PPvt_Data* packet);
- void GPS_D800_Get(GPS_PPacket& packet, GPS_PPvt_Data* pvt);
+ void GPS_D800_Get(const GPS_Packet& packet, GPS_PPvt_Data* pvt);
int32 GPS_A906_Get(const char* port, GPS_PLap** lap, pcb_fn cb);
void GPS_D1011b_Get(GPS_PLap* Lap,UC* data); /*D906 D1001 D1015*/
{
static UC data[2];
gpsdevh* fd;
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
GPS_Util_Little();
return (ops->Device_Flush)(fd);
}
-int32 GPS_Write_Packet(gpsdevh* fd, GPS_PPacket& packet)
+int32 GPS_Write_Packet(gpsdevh* fd, const GPS_Packet& packet)
{
return (ops->Write_Packet)(fd, packet);
}
-int32 GPS_Packet_Read(gpsdevh* fd, GPS_PPacket* packet)
+int32 GPS_Packet_Read(gpsdevh* fd, GPS_Packet* packet)
{
return (ops->Read_Packet)(fd, packet);
}
-bool GPS_Send_Ack(gpsdevh* fd, GPS_PPacket* tra, GPS_PPacket* rec)
+bool GPS_Send_Ack(gpsdevh* fd, GPS_Packet* tra, GPS_Packet* rec)
{
return (ops->Send_Ack)(fd, tra, rec);
}
-bool GPS_Get_Ack(gpsdevh* fd, GPS_PPacket* tra, GPS_PPacket* rec)
+bool GPS_Get_Ack(gpsdevh* fd, GPS_Packet* tra, GPS_Packet* rec)
{
return (ops->Get_Ack)(fd, tra, rec);
}
-void GPS_Make_Packet(GPS_PPacket* packet, US type, UC* data, uint32 n)
+void GPS_Make_Packet(GPS_Packet* packet, US type, UC* data, uint32 n)
{
packet->type = type;
if (n > 0) {
int32 GPS_Device_Read(int32 ignored, void* ibuf, int size);
int32 GPS_Device_Write(int32 ignored, const void* obuf, int size);
void GPS_Device_Error(char* hdr, ...);
- int32 GPS_Write_Packet(gpsdevh* fd, GPS_PPacket& packet);
- bool GPS_Send_Ack(gpsdevh* fd, GPS_PPacket* tra, GPS_PPacket* rec);
- int32 GPS_Packet_Read(gpsdevh* fd, GPS_PPacket* packet);
- bool GPS_Get_Ack(gpsdevh* fd, GPS_PPacket* tra, GPS_PPacket* rec);
-
- typedef int32(*gps_device_op)(gpsdevh*);
- typedef int32(*gps_device_op5)(const char*, gpsdevh** fd);
- typedef bool(*gps_device_op10)(gpsdevh* fd, GPS_PPacket* tra, GPS_PPacket* rec);
- typedef int32(*gps_device_op12)(gpsdevh* fd, GPS_PPacket& packet);
- typedef int32(*gps_device_op13)(gpsdevh* fd, GPS_PPacket* packet);
+ int32 GPS_Write_Packet(gpsdevh* fd, const GPS_Packet& packet);
+ bool GPS_Send_Ack(gpsdevh* fd, GPS_Packet* tra, GPS_Packet* rec);
+ int32 GPS_Packet_Read(gpsdevh* fd, GPS_Packet* packet);
+ bool GPS_Get_Ack(gpsdevh* fd, GPS_Packet* tra, GPS_Packet* rec);
+
+ using gps_device_op = int32 (*)(gpsdevh*);
+ using gps_device_op5 = int32 (*)(const char*, gpsdevh** fd);
+ using gps_device_op10 = bool (*)(gpsdevh* fd, GPS_Packet* tra, GPS_Packet* rec);
+ using gps_device_op12 = int32 (*)(gpsdevh* fd, const GPS_Packet& packet);
+ using gps_device_op13 = int32 (*)(gpsdevh* fd, GPS_Packet* packet);
+
typedef struct {
gps_device_op5 Device_On;
gps_device_op Device_Off;
return gusb_close(dh);
}
-static int32 gdu_read(gpsdevh* fd, GPS_PPacket* packet)
+static int32 gdu_read(gpsdevh* fd, GPS_Packet* packet)
{
/* Default is to eat bulk request packets. */
return GPS_Packet_Read_usb(fd, packet, 1);
** Read a packet
**
** @param [r] fd [int32] file descriptor
-** @param [w] packet [GPS_PPacket *] packet string
+** @param [w] packet [GPS_Packet *] packet string
**
** @return [int32] number of bytes read
**********************************************************************/
-int32 GPS_Serial_Packet_Read(gpsdevh* fd, GPS_PPacket* packet)
+int32 GPS_Serial_Packet_Read(gpsdevh* fd, GPS_Packet* packet)
{
time_t start;
int32 len = 0;
** Check that returned packet is an ack for the packet sent
**
** @param [r] fd [int32] file descriptor
-** @param [r] tra [GPS_PPacket *] packet just transmitted
-** @param [r] rec [GPS_PPacket *] packet to receive
+** @param [r] tra [GPS_Packet *] packet just transmitted
+** @param [r] rec [GPS_Packet *] packet to receive
**
** @return [bool] true if ACK
**********************************************************************/
-bool GPS_Serial_Get_Ack(gpsdevh *fd, GPS_PPacket *tra, GPS_PPacket *rec)
+bool GPS_Serial_Get_Ack(gpsdevh *fd, GPS_Packet *tra, GPS_Packet *rec)
{
if (!GPS_Serial_Packet_Read(fd, rec)) {
return false;
#include "jeeps/gps.h"
time_t GPS_Time_Now();
- int32 GPS_Serial_Packet_Read(gpsdevh* fd, GPS_PPacket* packet);
- bool GPS_Serial_Get_Ack(gpsdevh *fd, GPS_PPacket *tra, GPS_PPacket *rec);
+ int32 GPS_Serial_Packet_Read(gpsdevh* fd, GPS_Packet* packet);
+ bool GPS_Serial_Get_Ack(gpsdevh *fd, GPS_Packet *tra, GPS_Packet *rec);
#endif
************************************************************************/
static int32 GPS_A600_Rqst(gpsdevh* fd, time_t Time)
{
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
switch (gps_date_time_type) {
case pD600:
************************************************************************/
static int32 GPS_A700_Rqst(gpsdevh* fd, double lat, double lon)
{
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
switch (gps_position_type) {
case pD700:
**
** Forms a complete packet to send on serial port
*
-** @param [r] in [GPS_PPacket *] packet string with portable packet data
-** @param [w] out [GPS_Serial_PPacket *] packet string suitable for serial port
+** @param [r] in [GPS_Packet *] packet string with portable packet data
+** @param [w] out [GPS_Serial_Packet *] packet string suitable for serial port
**
** @return [US] number of data bytes to send
************************************************************************/
static US
-Build_Serial_Packet(GPS_PPacket in, GPS_Serial_PPacket out)
+Build_Serial_Packet(const GPS_Packet& in, GPS_Serial_Packet* out)
{
- UC* p;
+ const UC* p;
UC* q;
UC chk = 0;
US bytes = 0;
** Forms a complete packet to send
**
** @param [w] fd [int32] file descriptor
-** @param [r] packet [GPS_PPacket] packet
+** @param [r] packet [GPS_Packet] packet
**
** @return [int32] number of bytes in the packet
************************************************************************/
-int32 GPS_Serial_Write_Packet(gpsdevh* fd, GPS_PPacket& packet)
+int32 GPS_Serial_Write_Packet(gpsdevh* fd, const GPS_Packet& packet)
{
int32 ret;
const char* m1, *m2;
- GPS_Serial_OPacket ser_pkt;
+ GPS_Serial_Packet ser_pkt;
UC ser_pkt_data[MAX_GPS_PACKET_SIZE * sizeof(UC)];
US bytes;
** Send an acknowledge packet
**
** @param [w] fd [int32] file descriptor
-** @param [r] tra [GPS_PPacket *] packet to transmit
-** @param [r] rec [GPS_PPacket *] last packet received
+** @param [r] tra [GPS_Packet *] packet to transmit
+** @param [r] rec [GPS_Packet *] last packet received
**
** @return [bool] success
************************************************************************/
-bool GPS_Serial_Send_Ack(gpsdevh* fd, GPS_PPacket* tra, GPS_PPacket* rec)
+bool GPS_Serial_Send_Ack(gpsdevh* fd, GPS_Packet* tra, GPS_Packet* rec)
{
UC data[2];
#define GPS_ARB_LEN 1024
- int32 GPS_Serial_Write_Packet(gpsdevh* fd, GPS_PPacket& packet);
- bool GPS_Serial_Send_Ack(gpsdevh* fd, GPS_PPacket* tra, GPS_PPacket* rec);
+ int32 GPS_Serial_Write_Packet(gpsdevh* fd, const GPS_Packet& packet);
+ bool GPS_Serial_Send_Ack(gpsdevh* fd, GPS_Packet* tra, GPS_Packet* rec);
- void GPS_Make_Packet(GPS_PPacket* packet, US type, UC* data, uint32 n);
+ void GPS_Make_Packet(GPS_Packet* packet, US type, UC* data, uint32 n);
#endif
int32 GPS_Serial_Set_Baud_Rate(gpsdevh* fd, int br)
{
static UC data[4];
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
win_serial_data* wsd = (win_serial_data*)fd;
DWORD speed = mkspeed(br);
struct termios tty;
static UC data[4];
- GPS_PPacket tra;
- GPS_PPacket rec;
+ GPS_Packet tra;
+ GPS_Packet rec;
speed_t speed = mkspeed(br);
* The 'low level ops' are registered by the OS layer (win32, libusb, etc.)
* to provide gruntwork features for the common USB layer.
*/
-typedef int (*gusb_llop_get)(garmin_usb_packet* ibuf, size_t sz);
-typedef int (*gusb_llop_send)(const garmin_usb_packet* opkt, size_t sz);
-typedef int (*gusb_llop_close)(gpsdevh* dh, bool exit_lib);
+using gusb_llop_get = int (*)(garmin_usb_packet* ibuf, size_t sz);
+using gusb_llop_send = int (*)(const garmin_usb_packet* opkt, size_t sz);
+using gusb_llop_close = int (*)(gpsdevh* dh, bool exit_lib);
typedef struct gusb_llops {
gusb_llop_get llop_get_intr;
*/
-int32 GPS_Packet_Read_usb(gpsdevh* fd, GPS_PPacket* packet, int eatbulk);
-void GPS_Make_Packet_usb(GPS_PPacket* packet, UC type, UC* data, int16 n);
-int32 GPS_Write_Packet_usb(gpsdevh* fd, GPS_PPacket& packet);
+int32 GPS_Packet_Read_usb(gpsdevh* fd, GPS_Packet* packet, int eatbulk);
+void GPS_Make_Packet_usb(GPS_Packet* packet, UC type, UC* data, int16 n);
+int32 GPS_Write_Packet_usb(gpsdevh* fd, const GPS_Packet& packet);
* Negative on error.
* 1 if read success - even if empty packet.
*/
-int32 GPS_Packet_Read_usb(gpsdevh* /*unused*/, GPS_PPacket* packet, int eat_bulk)
+int32 GPS_Packet_Read_usb(gpsdevh* /*unused*/, GPS_Packet* packet, int eat_bulk)
{
int32 n;
int32 payload_size;
#include <cstdio>
int32
-GPS_Write_Packet_usb(gpsdevh* /*unused*/, GPS_PPacket& packet)
+GPS_Write_Packet_usb(gpsdevh* /*unused*/, const GPS_Packet& packet)
{
garmin_usb_packet gp;
memset(&gp, 0, sizeof(gp));